package com.ruoyi.event.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 地址变更业务对象 event_dzbg
 *
 * @author strongme
 * @date 2023-02-04
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class EventDzbgBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = {EditGroup.class})
    private Long dzbgId;

    /**
     * 吸毒人员id
     */
    @NotNull(message = "吸毒人员id不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long userId;

    /**
     * 变更原因
     */
    @NotBlank(message = "变更原因不能为空", groups = {AddGroup.class, EditGroup.class})
    private String bgyy;

    /**
     * 现执行地
     */
    private String xzxd;

    /**
     * 变更后地址
     */
    @NotBlank(message = "变更后地址不能为空", groups = {AddGroup.class, EditGroup.class})
    private String bghdz;

    /**
     * 戒毒/康复起始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date jdkfqssj;

    /**
     * 戒毒/康复结束时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date jdkfjssj;

    /**
     * 变更原因附件
     */
    @NotBlank(message = "变更原因附件不能为空", groups = {AddGroup.class, EditGroup.class})
    private String bgyyfj;

    /**
     * 接收地工作部门意见
     */
    private String jsdgzbmyj;

    /**
     * 接收地工作部门签名
     */
    private String jsdgzbmqm;

    /**
     * 接收地工作部门日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date jsdgzbmrq;

    /**
     * 接收地工作小组意见
     */
    private String jsdgzxzyj;

    /**
     * 接收地工作小组签名
     */
    private String jsdgzxzqm;

    /**
     * 接收地工作小组日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date jsdgzxzrq;

    /**
     * 执行地工作站意见
     */
    private String zxdgzzyj;

    /**
     * 执行地工作站签名
     */
    private String zxdgzzqm;

    /**
     * 执行地工作站日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date zxdgzzrq;

    /**
     * 执行地领导小组意见
     */
    private String zxdldxzyj;

    /**
     * 执行地领导小组签名
     */
    private String zxdldxzqm;

    /**
     * 执行地领导小组日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date zxdldxzrq;

    /**
     * 接收方审核状态
     */
    private String status;

    /**
     * 备注
     */
    private String remark;


}
